package com.buss.customer.service;

import com.buss.core.dic.RecordStatus;
import com.buss.core.persistence.OrderBy;
import com.buss.core.persistence.Paginalbe;
import com.buss.core.persistence.ResultList;
import com.buss.customer.model.Customer;

public interface CustomerService {

	/**
	 * 新增往来单位信息
	 * @param customer
	 * @return
	 */
	Customer saveCustomer(Customer customer);
	
	/**
	 * 修改往来单位信息
	 * @param customer
	 */
	void editCustomer(Customer customer);
	
	/**
	 * 删除指定往来单位信息
	 * @param ids
	 */
	void removeCustomer(Long[] ids);
	
	/**
	 * 获取指定往来单位信息
	 * @param id
	 * @return
	 */
	Customer loadCustomer(Long id);
	
	/**
	 * 根据查询条件获取往来单位信息
	 * @param companyId	单位ID
	 * @param classId	往来单位分类ID
	 * @param name	往来单位名称
	 * @param mnemonic	快捷码
	 * @param salesId	业务员ID
	 * @param isCustomer	是否客户
	 * @param isSupplier	是否供应商
	 * @param status	当前状态
	 * @return
	 */
	ResultList<Customer> queryCustomer(String companyId,Long classId,String name,
			String mnemonic,Long salesId,Boolean isCustomer,Boolean isSupplier,
			RecordStatus status,Paginalbe page,OrderBy orderBy);
	
}
